package com.mgkj.demo.entity.eten;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.Version;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 品号工厂信息/CHT/品號工廠資料/ENU/Item Plant Data
 * </p>
 *
 * @author yyyjcg
 * @since 2024-10-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ItemPlant对象", description="品号工厂信息/CHT/品號工廠資料/ENU/Item Plant Data")
public class ItemPlant extends Model<ItemPlant> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "关联部门")
    @TableField("Owner_Dept")
    private String ownerDept;

    @ApiModelProperty(value = "关联员工")
    @TableField("Owner_Emp")
    private String ownerEmp;

    @ApiModelProperty(value = "循环盘点码")
    private String cycleCountCode;

    @ApiModelProperty(value = "品号类型")
    private String itemProperty;

    private String poDocId;

    private String defPurType;

    @ApiModelProperty(value = "ABC等级")
    private String abcClass;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "图片")
    private String itemPicture;

    @ApiModelProperty(value = "储存控制")
    private String storageControl;

    @ApiModelProperty(value = "出库控制")
    private String warehouseControl;

    @ApiModelProperty(value = "领料对象类型")
    private String issueDestinationType;

    @ApiModelProperty(value = "超入率")
    private Double receiptOverrunRate;

    @ApiModelProperty(value = "制造变动前置天数")
    private Double dynamicLeadTimeM;

    @ApiModelProperty(value = "制造固定前置天数")
    private Double fixedLeadTimeM;

    @ApiModelProperty(value = "领用倍量")
    private Double issueMultiple;

    @ApiModelProperty(value = "质检模式")
    private String inspectMode;

    private String inspectModeMo;

    private String inspectModeSd;

    @ApiModelProperty(value = "检验前置天数")
    private Double inspectDays;

    @ApiModelProperty(value = "工艺管理")
    private Boolean routingControl;

    @ApiModelProperty(value = "批量")
    private Double batchQuantityM;

    @ApiModelProperty(value = "最小补量")
    private Double minOrderQty;

    @ApiModelProperty(value = "补货倍量")
    private Double orderMultiple;

    @ApiModelProperty(value = "严格程度")
    private String strictnessDegree;

    @ApiModelProperty(value = "产品良率")
    private Double yieldRate;

    @ApiModelProperty(value = "保留原则")
    private String reservedRule;

    @ApiModelProperty(value = "保留有效天数")
    private Double reservedValidDay;

    @ApiModelProperty(value = "保留控制")
    private Boolean reservedControl;

    @ApiModelProperty(value = "超领率")
    private Double issueOverrunRate;

    @ApiModelProperty(value = "缺领率")
    private Double issueShortageRate;

    @ApiModelProperty(value = "低阶码")
    private String lowLevelCode;

    @ApiModelProperty(value = "关键料")
    private Boolean isCriticalItem;

    @ApiModelProperty(value = "补货政策")
    private String orderPolicy;

    @ApiModelProperty(value = "安全库存量")
    private Double safeStock;

    @ApiModelProperty(value = "计划量开立规则")
    private String planOrderRule;

    @ApiModelProperty(value = "最大补量")
    private Double maxOrderQty;

    @ApiModelProperty(value = "整数规划")
    private Boolean isInteger;

    @ApiModelProperty(value = "是否并批开单")
    private Boolean isConsolidated;

    @ApiModelProperty(value = "并单周期")
    private Integer consolidateDay;

    @ApiModelProperty(value = "批工单数量")
    private Double lotMoQty;

    @ApiModelProperty(value = "品号")
    private String itemId;

    @ApiModelProperty(value = "储存限制编号")
    private String storageLimitId;

    @ApiModelProperty(value = "领用单位")
    private String moIssueUnitId;

    @ApiModelProperty(value = "工作中心")
    private String workCenterId;

    @ApiModelProperty(value = "标准工艺路线编号")
    private String standardRoutingId;

    @ApiModelProperty(value = "入库仓库")
    private String inboundWarehouseId;

    @ApiModelProperty(value = "出库仓库")
    private String outboundWarehouseId;

    @ApiModelProperty(value = "工单单据类型")
    private String moDocId;

    @ApiModelProperty(value = "销售中心")
    private String salesCenterId;

    @ApiModelProperty(value = "MRP时距")
    private String mrpTimeBucket;

    @ApiModelProperty(value = "请购单单据类型")
    private String requisitionDocId;

    @ApiModelProperty(value = "计划人员")
    private String plannerId;

    @ApiModelProperty(value = "领料模式")
    private String issueType;

    @ApiModelProperty(value = "补货周期")
    private String replenishmentCycleId;

    @ApiModelProperty(value = "移转批量所需天数")
    private Double lotMoLeadTime;

    @ApiModelProperty(value = "补货点")
    private Double reorderPoint;

    @ApiModelProperty(value = "经济批量")
    private Double economicOrderQty;

    @ApiModelProperty(value = "标准人时")
    private Integer standardManHour;

    @ApiModelProperty(value = "标准机时")
    private Integer standardMachineHour;

    @ApiModelProperty(value = "万能成本分配因子")
    private Double multipurposeCstaf;

    @ApiModelProperty(value = "主键")
    private String productionAdminUnitId;

    @ApiModelProperty(value = "最小配量")
    private Double mimDistributionQty;

    @ApiModelProperty(value = "配送倍量")
    private Double distributionMultiple;

    @ApiModelProperty(value = "最优库存量")
    private Double bestStock;

    @ApiModelProperty(value = "循环补货码")
    private String cycleOrderCode;

    @ApiModelProperty(value = "参与DRP计算")
    private Boolean addDrp;

    @ApiModelProperty(value = "补货提前期")
    private Integer orderLead;

    @ApiModelProperty(value = "直供")
    private Boolean isDirect;

    @ApiModelProperty(value = "补货采购域")
    private String orderSupplyCenterId;

    @ApiModelProperty(value = "补货机构")
    private String orderPlantId;

    @ApiModelProperty(value = "补货参照供应商")
    private String orderSupplierId;

    @ApiModelProperty(value = "物流单位")
    private String logisticsUnitId;

    @ApiModelProperty(value = "批号管理")
    private String lotControl;

    @ApiModelProperty(value = "库存不足配送方案")
    private String distributionType;

    @ApiModelProperty(value = "供应中心")
    private String supplyCenterId;

    @ApiModelProperty(value = "补货申请单单据类型")
    private String orderDocId;

    @ApiModelProperty(value = "领料关键料")
    private Boolean issueCritical;

    @ApiModelProperty(value = "配送机构否")
    private String isDistribution;

    @ApiModelProperty(value = "运输天数")
    private Double transportDays;

    @ApiModelProperty(value = "主鍵")
    private String transferOutPlantId;

    @ApiModelProperty(value = "独立需求")
    private Boolean isIndependentDemand;

    @ApiModelProperty(value = "调拨单单据类型")
    private String transferRequisitionId;

    @ApiModelProperty(value = "品管类别")
    private String qcCategoryId;

    @ApiModelProperty(value = "品管单位")
    private String inspectionUnitId;

    @ApiModelProperty(value = "品号来源")
    private String source;

    @ApiModelProperty(value = "PLM传输批次号")
    private String plmDatakey;

    @ApiModelProperty(value = "存放仓库")
    private String warehouseId;

    @ApiModelProperty(value = "存放库位")
    private String binId;

    @ApiModelProperty(value = "长宽高计量单位")
    private String unit1Id;

    @ApiModelProperty(value = "重量计量单位")
    private String unit2Id;

    @TableField("long")
    @ApiModelProperty(value = "长")
    private Double long1;

    @ApiModelProperty(value = "高")
    private Double high;

    @ApiModelProperty(value = "宽")
    private Double wide;

    @ApiModelProperty(value = "体积")
    private Double bulk;

    @ApiModelProperty(value = "重量")
    private Double weight;

    @ApiModelProperty(value = "物流单位重量")
    private Double weight1;

    @ApiModelProperty(value = "制造单位")
    private String produceUnitId;

    @ApiModelProperty(value = "存货交易单位")
    private String transactionUnitId;

    @ApiModelProperty(value = "主键")
      @TableId(value = "ITEM_BUSINESS_ID", type = IdType.AUTO)
    private String itemBusinessId;

    @ApiModelProperty(value = "工艺管理")
    private String itemRoutingControl;

    @ApiModelProperty(value = "供配价")
    private Double distributionPrice;

    @ApiModelProperty(value = "协同关系")
    private String synergyId;

    @ApiModelProperty(value = "内部订单单据类型")
    private String innerOrderDocId;

    @ApiModelProperty(value = "采购件由计划考虑补货机制")
    private Boolean purchaseConsiderOrder;

    @ApiModelProperty(value = "计划预留1")
    private String reservedPlan001;

    @ApiModelProperty(value = "计划预留2")
    private String reservedPlan002;

    @ApiModelProperty(value = "计划预留3")
    private Boolean reservedPlan003;

    @ApiModelProperty(value = "关键料类型")
    private String mrpCriticalItemType;

    @ApiModelProperty(value = "合并开单")
    private String consolidated;

    private Boolean packFlag;

    @ApiModelProperty(value = "领用倍量")
    private Double issueMultiple2;

    @ApiModelProperty(value = "领用倍量")
    private Double issueMultiple3;

    @ApiModelProperty(value = "领用倍量")
    private Double issueMultiple4;

    private String inboundBinId;

    private String outboundBinId;

    private String stdcstCalcCategoryId;

    @ApiModelProperty(value = "创建日期")
    @TableField("CreateDate")
    private LocalDateTime createdate;

    @ApiModelProperty(value = "最后修改日期")
    @TableField("LastModifiedDate")
    private LocalDateTime lastmodifieddate;

    @ApiModelProperty(value = "修改日期")
    @TableField("ModifiedDate")
    private LocalDateTime modifieddate;

    @ApiModelProperty(value = "创建者")
    @TableField("CreateBy")
    private String createby;

    @ApiModelProperty(value = "最后修改者")
    @TableField("LastModifiedBy")
    private String lastmodifiedby;

    @ApiModelProperty(value = "修改者")
    @TableField("ModifiedBy")
    private String modifiedby;

    @ApiModelProperty(value = "附件")
    @TableField("Attachments")
    private String attachments;

    @ApiModelProperty(value = "表单所在的流程实例的编号")
    @TableField("ProcessInstanceId")
    private String processinstanceid;

    @ApiModelProperty(value = "版本号，不要随意更改")
    @TableField("Version")
    private LocalDateTime version;

    @ApiModelProperty(value = "自定义字段0")
    private Double udf001;

    @ApiModelProperty(value = "自定义字段1")
    private Double udf002;

    @ApiModelProperty(value = "自定义字段2")
    private Double udf003;

    @ApiModelProperty(value = "自定义字段3")
    private Double udf011;

    @ApiModelProperty(value = "自定义字段4")
    private Double udf012;

    @ApiModelProperty(value = "自定义字段5")
    private Double udf013;

    @ApiModelProperty(value = "自定义字段6")
    private String udf021;

    @ApiModelProperty(value = "自定义字段7")
    private String udf022;

    @ApiModelProperty(value = "自定义字段8")
    private String udf023;

    @ApiModelProperty(value = "自定义字段9")
    private String udf024;

    @ApiModelProperty(value = "自定义字段10")
    private String udf025;

    @ApiModelProperty(value = "自定义字段11")
    private String udf026;

    @ApiModelProperty(value = "自定义字段12")
    private LocalDateTime udf041;

    @ApiModelProperty(value = "自定义字段13")
    private LocalDateTime udf042;

    @ApiModelProperty(value = "自定义字段14")
    private String udf051;

    @ApiModelProperty(value = "自定义字段15")
    private String udf052;

    @ApiModelProperty(value = "自定义字段16")
    private String udf053;

    @ApiModelProperty(value = "自定义字段17")
    private String udf054;

    @ApiModelProperty(value = "单据状态属性")
    @TableField("ApproveStatus")
    private String approvestatus;

    @ApiModelProperty(value = "修改日期")
    @TableField("ApproveDate")
    private LocalDateTime approvedate;

    @ApiModelProperty(value = "修改人")
    @TableField("ApproveBy")
    private String approveby;

    @TableField("Owner_Org_RTK")
    private String ownerOrgRtk;

    @TableField("Owner_Org_ROid")
    private String ownerOrgRoid;


    @Override
    protected Serializable pkVal() {
        return this.itemBusinessId;
    }

}
